home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
compuserve-file-archive
/
05 Programming
/
PETDOS.SDA
/
PETDOS.TXT
next >
Wrap
Text File
|
2019-04-13
|
43KB
|
1,298 lines
;========================================================================================
; ┬OOLEAN ╠OGIC ╘UTORIAL (BECAUSE ╔ ALWAYS FORGET)
;
;
; ┴╬─
;
; ┴ ═┴╙╦ ╥ESULT - ╒SED TO MASK-OFF IRRELEVANT BITS (USING POSITIVE MASK)
; = ==== ====== - ╒SED TO TEST TO SEE IF BITS ARE SET (USING POSITIVE MASK)
; 0 0 0 - ╒SED TO "TURN-OFF" BITS BY USING AN INVERTED MASK.
; 1 0 0
; 0 1 0
; 1 1 1
;
;
; ╧╥
;
; ┴ ═┴╙╦ ╥ESULT - ╒SED TO "TURN-ON" BITS BY USING A POSITIVE MASK
; = ==== ====== - ╒SED TO TEST TO SEE IF BITS ARE SET (USING INVERTED MASK)
; 0 0 0
; 1 0 1
; 0 1 1
; 1 1 1
;========================================================================================
;├┬═/╨┼╘ ╔NTERNAL ─╧╙ ├OMMAND ├ODE
;
;========================================================================================
;╓ARIABLES
; ╧╙╞╥┼2/3 POINTS TO FILE NAME ADDRESS
╓AR╙TART =╨╟╔╬─╥+$10
╞ILE╬═╠EN =╓AR╙TART;02B1=$033┴
╠╒╬1 =╓AR╙TART+1;02B2=$033┬
╠╒╬2 =╓AR╙TART+2;02B3=$033├
╥╠┼╬_╔╓╓ =╓AR╙TART+3;02B4=$033─
┬╔╘_╞╠┴╟ =╓AR╙TART+4;02B5=$033┼
╔╓┴╠╒┼ =╓AR╙TART+5;02B6=$033╞
╓┴╥7 =╓AR╙TART+6;02B7=$0340
╓┴╥8 =╓AR╙TART+7;02B8=$0341
╞ILE╬═╘EMP =╓AR╙TART+8;02B9=$0342
╓┴╥9 =╓AR╙TART+25;02CA=$0353
├UR╙EC┴DDR =╓AR╙TART+26;02CB=$0354
╔NT╓ALUE0 =╓AR╙TART+27;02CC=$0355
╔NT╓ALUE1 =╓AR╙TART+28;02CD=$0356
╞ILE╬═╠EN1 =╓AR╙TART+29;02CE=$0357
─╙_╠┼╬ =╓AR╙TART+30;02CF=$0358
─╙_╠╙┬ =╓AR╙TART+31;02D0=$0359
─╙_═╙┬ =╓AR╙TART+32;02D1=$035┴
; ┬╔╘_╞╠┴╟ IS A BIT-FLAG VARIABLE
;
; 7 6 5 4 3 2 1 0
; = = = = = = = =
; FILENAME READ ONLY SECOND FIRST ╠╒╬ ╞ILE# SECOND FIRST
; QUALIFIED OR ╠ DRIVE# DRIVE# SPECIFIED SPECIFIED FILENAME FILENAME
; SPECIFIED SPECIFIED SPECIFIED SPECIFIED SPECIFIED
;====================================================================
; ╥┼├╧╥─ - ═╧╓┼ ╥┼├╧╥─ ╨╧╔╬╘┼╥
; ╥┼├╧╥─ #╞, RECORD [,BYTE#]
;
╥┼├╧╥─
27┴╞ ┴9 01 ╠─┴ #$01
27┬1 8─ 3┴ 03 ╙╘┴ ╞ILE╬═╠EN
27┬4 20 76 00 ╩╙╥ ├╚╥╟╧╘
27┬7 ┴9 23 ╠─┴ #$23
2?┬9 20 ╞7 ┬┼ ╩╙╥ $┬┼╞7
27┬├ 20 8┴ ─┼ ╩╙╥ ╟┼╘_─╒╨╥═1
27┬╞ ┼0 00 ├╨╪ #$00
27├1 ╞0 3┼ ┬┼╤ $2801
27├3 86 ─2 ╙╘╪ ╠╧╟╞╔╠
27├5 20 ╞5 ┬┼ ╩╙╥ $┬┼╞5
27├8 ╞0 ┼2 ┬┼╤ $27┴├
27├┴ 90 0╞ ┬├├ $27─┬
27├├ 20 ╞2 ┬┼ ╩╙╥ $┬┼╞2
27├╞ 20 98 ┬─ ╩╙╥ $┬─98
27─2 20 2─ ├9 ╩╙╥ $├92─
27─5 20 ┼╞ ┬┼ ╩╙╥ $┬┼┼╞
27─8 4├ ┼1 ─7 ╩═╨ $─7┼1
27─┬ 20 98 ┬─ ╩╙╥ $┬─98
27─┼ 20 2─ ├9 ╩╙╥ $├92─
27┼1 20 76 00 ╩╙╥ ├╚╥╟╧╘
27┼4 ╞0 18 ┬┼╤ $27╞┼
27┼6 20 ╞5 ┬┼ ╩╙╥ $┬┼╞5
27┼9 ╞0 ├1 ┬┼╤ $27┴├
27┼┬ 20 8┴ ─┼ ╩╙╥ ╟┼╘_─╒╨╥═1
27┼┼ ┼0 00 ├╨╪ #$00
27╞0 ╞0 0╞ ┬┼╤ $2801
27╞2 ┼0 ╞╞ ├╨╪ #$╞╞
27╞4 ╞0 0┬ ┬┼╤ $2801
27╞6 8┼ 3┴ 03 ╙╘╪ ╞ILE╬═╠EN
27╞9 20 76 00 ╩╙╥ ├╚╥╟╧╘
27╞├ ─0 ┴┼ ┬╬┼ $27┴├
27╞┼ 4├ 31 ─┴ ╩═╨ ╞╬╨╘╥31
2801 4├ 27 ─┼ ╩═╨ ┼╥╥╧╥35
;====================================================================
; ┼6╘┼╙╘ - ╘EST FOR ┼6 BIT PATTERN
;
; FILENAME QUALIFIED, ╥/╧ OR ╠, DRIVE#, FILE#, FILENAME ON PASS 2
┼6╘┼╙╘
2804 29 ┼6 ┴╬─ #%11100110;┼6
2806 ╞0 03 ┬┼╤ ╚01╘┼╙╘;YES, .┴=┼6
╙╬┼╥╥7
2808 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥;NO, ╙YNTAX ┼RROR
;====================================================================
; ╚01╘┼╙╘ - ╘EST FOR 01 BIT PATTERN
;
; FILENAME PASS 1
╚01╘┼╙╘
280┬ ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
280┼ 29 01 ┴╬─ #%00000001;01
2810 ├9 01 ├═╨ #$01;IS ┬╔╘0 SET?
2812 ─0 ╞4 ┬╬┼ ╙╬┼╥╥7;NO, ╙YNTAX ┼RROR
2814 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
2817 60 ╥╘╙
;====================================================================
; ┼7╘┼╙╘ - ╘EST FOR ┼7 BIT PATTERN
;
; FILENAME QUALIFIED, ╥/╧ OR ╠, DRIVE#, FILE#, FILENAME ON PASS 1 AND 2
┼7╘┼╙╘
2818 29 ┼7 ┴╬─ #%11100111;┼7
281┴ ─0 ┼├ ┬╬┼ ╙╬┼╥╥7
281├ 60 ╥╘╙
;====================================================================
; ├4_03╘╙ - ╘EST FOR ├4 AND 03 BIT PATTERNS
;
; FILENAME QUALIFIED, ╥/╧ OR ╠, FILE#
├4_03╘╙
281─ 29 ├4 ┴╬─ #%11000100;├4
281╞ ─0 ┼7 ┬╬┼ ╙╬┼╥╥7
2821 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
├4_03╘╙┴;TEST FOR 03 (FILENAME ON PASS 1 AND 2)
2824 29 03 ┴╬─ #%00000011;03
2826 ├9 03 ├═╨ #$03
2828 ─0 ─┼ ┬╬┼ ╙╬┼╥╥7
282┴ ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
282─ 60 ╥╘╙
;====================================================================
; ╚05_╘╙╘ - ╘EST FOR 05 BIT PATTERN
;
; FILENAME PASS 1, FILE#
╚05_╘╙╘
282┼ 29 05 ┴╬─ #%00000101;05
2830 ├9 05 ├═╨ #$05
2832 ─0 ─4 ┬╬┼ ╙╬┼╥╥7
2834 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
2837 60 ╥╘╙
;
; ╓┼├╘╧╥╙??
;
╒╬╦╓┼├╙
2838 ╞╞ ???
2839 24 ─1 ┬╔╘ ╞╬═╠┼╬
283┬ ─1 3┴ ├═╨ ($3┴),┘
283─ ╞1 2├╙┬├ ($2├),┘
283╞ ┼1 2├╙┬├ ($2├,╪)
2841 ┼0 ─1 ├╨╪ #╞╬═╠┼╬
2843 3┴ ???
2844 ╞1 2├ ╙┬├ ~$2├), ┘
2846 41 4┼ ┼╧╥ ($4┼, ╪~
2848 ─1 3┴ ├═╨ ($3┴) ~ ┘
284┴ ╞1 2├ ╙┬├ <$2├), ┘
284├ ─0 56 ┬~'┼ $28┴4
284┼ ─1 44 ├═╨ ($44), ┘
2850 ─2 ???
2851 3─ ─1 43 ┴~'─ $43─1, ╪
2854 ─2 ???
2855 3┴ ???
2856 ╞2 ???
2857 3─ ─1 3┴ ┴╬─ $3┴─1, ╪
285┴ ╞1 43 ╙┬├ ($43), ┘
285├ ─2 ???
285─ 3┴ ???
285┼ ╞2 ???
285╞ 3─ ─2 3┴ ┴~'─ $3┴─2, ╪
2862 ╞2 ???
2863 2├ ─1 3┴ ┬╔╘ $3┴─1
2866 ╞1 52 ╙┬├ ($52), ┘
2868 ─1 3┴ ├═╨ ($3┴), ┘
286┴ ╞2 ???
286┬ 3─ ─1 3┴ ┴~'─ $3┴─1, ╪
286┼ ╞1 53 ╙┬├ ($53), ┘
2870 ─1 3┴ ├═╨ ($3┴), ┘
2872 ╞1 ???
;====================================================================
; ─╔╥┼├╘╧╥┘- ╨┼╥╞╧╥═ DISK DIRECTORY
; ─╔╥┼├╘╧╥┘ [─N][╧╬ ╒N]
;
─╔╥┼├╘╧╥┘
2873 ┴5 ─2╠─┴ ╠╧╟╞╔╠
2875 85 ┬3 ╙╘┴ ╥┼╟╙┴╓
2877 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
287┴ 20 18 ─8 ╩╙╥ ┼7╘┼╙╘
287─ ┴0 00 ╠─┘ #$00
287╞ ┴2 01 ╠─╪ #$01
2881 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
2884 29 10 ┴╬─ #%00010000;10
2886 ╞0 01 ┬┼╤ $2889
2888 ┼8 ╔╬╪
2889 8┴ ╘╪┴
288┴ 20 ╞┴ ─┬ ╩╙╥ ╒╬╦╬╧╫╬3
288─ ┴5 ┬0 ╠─┴ ─╙_╠╙┬
288╞ 85 ┬┴ ╙╘┴ ├╬╘─╬
2891 ┴9 60 ╠─┴ #$60
2893 85 ─3 ╙╘┴ ╙┼├┴─╥
2895 ┴9 0┼ ╠─┴ #$0┼
2897 85 ─2 ╙╘┴ ╠╧╟╞╔╠
2899 20 ┬9 ╞1 ╩╙╥ $╞1┬9
289├ 20 65 ╞5 ╩╙╥ $╞565
289╞ ┴9 00 ╠─┴ #$00
28┴1 85 96 ╙╘┴ ├╙╘┴╘
28┴3 ┴0 03 ╠─┘ #$03
28┴5 84 ─1 ╙╘┘ ╞╬═╠┼╬
28┴7 ┴2 0┼ ╠─╪ #$0┼
28┴9 20 ┴╞ ╞7 ╩╙╥ $╞7┴╞
28┴├ 20 15 ╞2 ╩╙╥ $╞215
28┴╞ 85 ╞─ ╙╘┴ ╧╙╞╥┼2
28┬1 ┴4 96 ╠─┘ ├╙╘┴╘
28┬3 ─0 5─ ┬╬┼ $2912
28┬5 20 15 ╞2 ╩╙╥ $╞215
28┬8 85 ╞┼ ╙╘┴ ╧╙╞╥┼3
28┬┴ ┴4 96 ╠─┘ ├╙╘┴╘
28┬├ ─0 54 ┬╬┼ $2912
28┬┼ ┴4 ─1 ╠─┘ ╞╬═╠┼╬
28├0 88 ─┼┘
28├1 ─0 ┼2┬╬┼ $28┴5
28├3 20 ┴6 ╞2╩╙╥ $╞2┴6
28├6 20 23 ─9 ╩╙╥ ╙╒┬7
28├9 ┴6 ╞─ ╠─╪ ╧╙╞╥┼2
28├┬ ┴5 ╞┼ ╠─┴ ╧╙╞╥┼3
28├─ 20 83 ├╞ ╩╙╥ $├╞83
28─0 ┴9 20 ╠─┴ #$20
28─2 20 66 ╞2 ╩╙╥ $╞266
28─5 20 ┴6 ╞2 ╩╙╥ $╞2┴6
28─8 ┴2 0┼ ╠─╪ #$0┼
28─┴ 20 ┴╞ ╞7 ╩╙╥ $╞7┴╞
28── 20 15 ╞2 ╩╙╥ $╞215
28┼0 48 ╨╚┴
28┼1 20 ┴6 ╞2 ╩╙╥ $╞2┴6
28┼4 68 ╨╠┴
28┼5 ┴6 96 ╠─╪ ├╙╘┴╘
28┼7 ─0 29 ┬╬┼ $2912
28┼9 ├9 00 ├═╨ #$00
28┼┬ ╞0 18 ┬┼╤ $2905
28┼─ 20 1┴ ─9 ╩╙╥ ╙╒┬6
28╞0 20 35 ╞3 ╩╙╥ $╞335
28╞3 ╞0 1─ ┬┼╤ $2912
28╞5 20 05 ╞2 ╩╙╥ $╞205
28╞8 ╞0 ─┼ ┬┼╤ $28─8
28╞┴ ├9 20 ├═╨ #$20
28╞├ ─0 ─┴ ┬╬┼ $28─8
28╞┼ 20 05 ╞2 ╩╙╥ $╞205
2901 ╞0 ╞┬ ┬┼╤ $28╞┼
2903 ─0 ─3 ┬╬┼ $28─8
2905 ┴9 0─ ╠─┴ #$0─
2907 20 1┴ ─9 ╩╙╥ ╙╒┬6
290┴ 20 ┬9 ╞1 ╩╙╥ $╞1┬9
290─ ┴0 02 ╠─┘ #$02
290╞ ─0 94 ┬╬┼ $28┴5
2911 68 ╨╠┴
2912 20 ┴6 ╞2 ╩╙╥ $╞2┴6
2915 ┴9 0┼ ╠─┴ #$0┼
2917 4├ ┼2 ╞2 ╩═╨ $╞2┼2
;====================================================================
; ╙╒┬6 -
;
╙╒┬6
291┴ 20 23 ─9 ╩╙╥ ╙╒┬7
291─ 20 66 ╞2 ╩╙╥ $╞266
2920 4├ ┴6 ╞2 ╩═╨ $╞2┴6
;====================================================================
; ╙╒┬7 -
;
╙╒┬7
2923 ┴6 ┬┴ ╠─╪ ├╬╘─╬
2925 ┼0 03 ├╨╪ #$03
2927 ╞0 05 ┬┼╤ $292┼
2929 ┴6 ┬3 ╠─╪ ╥┼╟╙┴╓
292┬ 20 ╞┼ ╞7 ╩╙╥ $╞7╞┼
292┼ 60 ╥╘╙
;====================================================================
; ╙╥_╙┴╘┴┬ - ╙EARCH FOR OPEN SLOT IN SECONDARY ADDRESS TABLE
;
╙╥_╙┴╘┴┬
292╞ ┴0 61 ╠─┘ #$61
╙╥╘┬╠╨
2931 ├8 ╔╬┘
2932 98 ╘┘┴
2933 ┴6 ┴┼ ╠─╪ ├╧╨╬╞╠
╙┼╘┬╠1
2935 ├┴ ─┼╪
2936 30 07 ┬═╔ ╙╥╘┬╠╨
2938 ── 65 02 ├═╨ ╙┼├┴╘┬,╪
293┬ ╞0 ╞4 ┬┼╤ ╙╥╘┬╠╨
293─ ─0 ╞6 ┬╬┼ ╙╥╘┬╠1
293╞ 84 ─3 ╙╘┘ ╙┼├┴─╥
2941 60 ╥╘╙
;====================================================================
; ─╧╨┼╬ - ╧PEN A DISK FILE
; ─╧╨┼╬ #F, "╞ILE╬AME" [,╠N][,─D][╧╬ ╒N][,╫]
; ╠= RELATIVE FILE RECORD LENGTH, ╫= READ ONLY (MUTUALLY EXCLUSIVE)
;
─╧╨┼╬
3942 20 68 ─├╩╙╥ ╨┴╥╙┼├═─
3945 20 2┼ ─8 ╩╙╥ ╚05_╘╙╘;FILE# AND FILENAME PASS 1
3948 29 22 ┴╬─ #%00100010;22 (TEST FOR DRIVE# AND FILENAME PASS 2)
394┴ ╞0 03 ┬┼╤ ─╧╨╬├╘1
394├ 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
─╧╨╬├╘1
394╞ 20 2╞ ─9 ╩╙╥ ╙╥_╙┴╘┴┬
3952 ┴0 02 ╠─┘ #$02
3954 ┴2 03 ╠─╪ #$03
3956 2├ 3┼ 03 ┬╔╘ ┬╔╘_╞╠┴╟
3959 50 02 ┬╓├ ─╧╨╬├╘2
395┬ ┴2 07 ╠─╪ #$07
─╧╨╬├╘2; .╪=3 OR 7
395─ 2├ 3┼ 03 ┬╔╘ ┬╔╘_╞╠┴╟
3960 10 0┼ ┬╨╠ ─╧╨╬╠╓
3962 ┴9 40 ╠─┴ #$40
3964 8─ 53 03 ╙╘┴ ╓┴╥9
3967 8┴ ╘╪┴
3968 ┴2 01 ╠─╪ #$01
396┴ 20 ╞├ ─┬ ╩╙╥ ╒╬╦3┴
396─ 4├ 63 ╞5 ╩═╨ ╔╧╨┼╬
─╧╨╬╠╓
3970 8┴ ╘╪┴
3971 20 ╞┴ ─┬ ╩╙╥ ╒╬╦╬╧╫╬3
3974 4├ 63 ╞5 ╩═╨ ╔╧╨┼╬
;====================================================================
; ┴╨╨┼╬─ - ┴PPEND TO THE END OF A FILE
; ┴╨╨┼╬─ #╞, "FILENAME" [,─N][╧╬ ╒N]
;
┴╨╨┼╬─
3977 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
397┴ 20 2┼ ─8 ╩╙╥ ╚05_╘╙╘;FILE# AND FILENAME PASS 1
397─ 29 ┼2 ┴╬─ #%11100010;┼2 - FILENAME QUAL, ╥/╧ OR ╠, DRIVE#, FILENAME PASS 2
397╞ ╞0 03 ┬┼╤ ┴╨╨1
3981 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
┴╨╨1
3984 20 2╞ ─9 ╩╙╥ ╙╥_╙┴╘┴┬
3987 ┴0 09 ╠─┘ #$09
3989 ┴9 05 ╠─┴ #$05
398┬ 20 ╞┴ ─┬ ╩╙╥ ╒╬╦╬╧╫╬3
398┼ 4├ 63 ╞5 ╩═╨ ╔╧╨┼╬
┴╨╨2
3991 ┴5 0─ ╠─┴ ─╙_╠┼╬
3993 ─0 16 ┬╬┼ ╙├╥╘1
;====================================================================
; ╙├╥┴╘├╚ - ┼RASES A FILE
; ╙├╥┴╘├╚ [─N,] "╞ILE╬AME" [╧╬ ╒N]
;
╙├╥┴╘├╚
3995 ┴9 28 ╠─┴ #$28
3997 85 0─ ╙╘┴ ─╙_╠┼╬
3999 20 1─ ├6 ╩╙╥ ╙╘╥╠╔╘
399├ 86 0┼ ╙╘╪ ─╙_╠╙┬
399┼ 84 0╞ ╙╘┘ ─╙_═╙┬
39┴0 ┴9 00 ╠─┴ #$00
39┴2 ┴0 29 ╠─┘ #$29
39┴4 20 9┼ ─┼ ╩╙╥ ╒╬╦╬╧╫╬7
39┴7 ┴9 0─ ╠─┴ #$0─
39┴9 91 0┼ ╙╘┴ (─╙_╠╙┬),┘
╙├╥╘1
39┴┬ ┴5 ─4 ╠─┴ ├╚┴╬╬╠
39┴─ ─0 04 ┬╬┼ ╙├╥╘2
39┴╞ ┴9 08 ╠─┴ #$08
39┬1 85 ─4 ╙╘┴ ├╚┴╬╬╠
╙├╥╘2
39┬3 20 ─2 ╞0 ╩╙╥ $╞0─2
39┬6 ┴9 6╞ ╠─┴ #$6╞
39┬8 85 ─3 ╙╘┴ ╙┼├┴─╥
39┬┴ 20 93 ╞1 ╩╙╥ $╞193
39┬─ ┴0 ╞╞ ╠─┘ #$╞╞
╙├╥╘3 39┬╞ ├8 ╔╬┘
39├0 20 ├0 ╞1 ╩╙╥ $╞1├0
39├3 ├9 0─ ├═╨ #$0─
39├5 ╞0 04 ┬┼╤ ╙├╥╘4
39├7 91 0┼ ╙╘┴ (─╙_╠╙┬),┘
39├9 ─0 ╞4 ┬╬┼ ╙├╥╘3
╙├╥╘4
39├┬ ┴9 00 ╠─┴ #$00
39├─ 91 0┼ ╙╘┴ (─╙_╠╙┬),┘
39├╞ 4├ ┴┼ ╞1 ╩═╨ $╞1┴┼
;====================================================================
; ╞╧╥═┴╘ - ─OES A DISK "HEADER"
; ╚┼┴─┼╥ "─ISK╬AME", ─N [,╔VV][╧╬ ╒N]
; ╔=DISK ╔─ NUMBER
;
╞╧╥═┴╘
39─2 20 68 ─├╩╙╥ ╨┴╥╙┼├═─
39─5 20 04 ─8╩╙╥ ┼6╘┼╙╘
39─8 29 11 ┴╬─ #%00010001;11 (DRIVE# AND FILENAME PASS 1)
39─┴ ├9 11 ├═╨ #$11
39─├ ╞0 03 ┬┼╤ ╞═╘1
39─┼ 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
╞═╘1
39┼1 20 1┬ ─┴ ╩╙╥ ╤╒┴╠_╞╬═
39┼4 20 9┼ ─┬ ╩╙╥ ╒╬╦╬╧╫╬1
39┼7 90 01 ┬├├ ╞═╘2
39┼9 60 ╥╘╙
╞═╘2
39┼┴ ┴0 0┼ ╠─┘ #$0┼
39┼├ ┴9 04 ╠─┴ #$04
39┼┼ ┴┼ 3╞ 03 ╠─╪ ╔╓┴╠╒┼
39╞1 ╞0 02 ┬┼╤ ╞═╘3
39╞3 ┴9 06 ╠─┴ #$ 06
╞═╘3
39╞5 20 98 ─┴ ╩╙╥ ┬╦╒╨3
39╞8 20 91 ─9 ╩╙╥ ┴╨╨2
39╞┬ ┴0 00 ╠─┘ #$00
39╞─ ┬1 0┼ ╠─┴ (─╙_╠╙┬),┘
39╞╞ ├9 32 ├═╨ #$32
3┴01 ┬0 01 ┬├╙ ╞═╘4
3┴03 60 ╥╘╙
╞═╘4
3┴04 4├ ─7 ─┬ ╩═╨ ╒╬╦╬╧╫╬2
;====================================================================
; ─├╠╧╙┼ - ├LOSE A DISK FILE
; ─├╠╧╙┼ #F [╧╬ ╒N]
;
─├╠╧╙┼
3┴07 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
3┴0┴ 29 ╞3 ┴╬─ #%11110011;╞3
3┴0├ ╞0 03 ┬┼╤ ─├╠╙1
3┴0┼ 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
─├╠╙1
3┴11 20 ┼1 ─┬ ╩╙╥ ╒╬╦╬╧╫╬2┴
3┴14 ┴5 ─2 ╠─┴ ╠╧╟╞╔╠
3┴16 ╞0 03 ┬┼╤ ─├╠╙2
3┴18 4├ ┼2 ╞2 ╩═╨ $╞2┼2
─├╠╙2
3┴1┬ ┴5 ─4 ╠─┴ ├╚┴╬╬╠
3┴1─ ┴6 ┴┼ ╠─╪ ├╧╨╬╞╠
─├╠╙3
3┴1╞ ├┴ ─┼╪
3┴20 30 0┼ ┬═╔ ─├╠╙4
3┴22 ── 5┬ 02 ├═╨ ─┼╓╘┬╠,╪
3┴25 ─0 ╞8 ┬╬┼ ─├╠╙3
3┴27 ┬─ 51 02 ╠─┴ ╞╔╠╘┬╠,╪
3┴2┴ 20 ┼7 ╞2 ╩╙╥ $╞2┼7
3┴2─ ┬8 ├╠╓
3┴2┼ 50 ┼┬ ┬╓├ ─├╠╙2
─├╠╙4
3┴30 60 ╥╘╙
;====================================================================
; -
;
3┴31 ┴5 ─2 ╠─┴ ╠╧╟╞╔╠
3┴33 20 ├1 ╞2 ╩╙╥ $╞2├1
3┴36 ╞0 05 ┬┼╤ $3┴3─
3┴38 ┴0 17 ╠─┘ #$17
3┴3┴ 4├ ┴╞ ╞5 ╩═╨ ╠╧├╘╨╚
3┴3─ 20 ├─ ╞2 ╩╙╥ $╞2├─
3┴40 20 ┼1 ─┬ ╩╙╥ ╒╬╦╬╧╫╬2┴
3┴43 ┴9 50 ╠─┴ #$50
3┴45 8─ 53 03 ╙╘┴ ╓┴╥9
3┴48 ┴5 ─3 ╠─┴ ╙┼├┴─╥
3┴4┴ 8─ 54 03 ╙╘┴ ├UR╙EC┴DDR
3┴4─ ┴5 11 ╠─┴ ╔╬╘╥╓╠
3┴4╞ 8─ 55 03 ╙╘┴ ╔╬╘╓┴╠╒┼0
3┴52 ┴5 12 ╠─┴ ╔╬╘╥╓╠+1
3┴54 8─ 56 03 ╙╘┴ ╔NT╓ALUE1
3┴57 ┴─ 3┴ 03 ╠─┴ ╞ILE╬═╠EN
3┴5┴ 8─ 57 03 ╙╘┴ ╞ILE╬═╠EN1
3┴5─ ┴2 05 ╠─╪ #$05
3┴5╞ 20 4├ ─├ ╩╙╥ ╒╬╦3╠
3┴62 4├ 9┬ ─┴ ╩═╨ ┬╦╒╨4
;====================================================================
; ├╧╠╠┼├╘ - "─EFRAGMENT" A DISK
; ├╧╠╠┼├╘ [─N][╧╬ ╒N]
;
├╧╠╠┼├╘
3┴65 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
3┴68 20 18 ─8 ╩╙╥ ┼7╘┼╙╘
3┴6┬ 20 1┬ ─┴ ╩╙╥ ╤╒┴╠_╞╬═
3┴6┼ ┴0 14 ╠─┘ #$14
3┴70 ┴2 01 ╠─╪ #$01
3┴72 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3┴75 29 10 ┴╬─ #%00010000;10
3┴77 ╞0 01 ┬┼╤ ├╧╠├╘1
3┴79 ┼8 ╔╬╪
├╧╠├╘1 3┴7┴ 8┴ ╘╪┴
3┴7┬ 4├ 98 ─┴ ╩═╨ ┬╦╒╨3
;====================================================================
; ┬┴├╦╒╨ - ┬ACKS-UP A FILE
; ┬┴├╦╒╨ ─N ╘╧ ─N [╧╬ ╒N]
;
┬┴├╦╒╨
3┴7┼ 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
3┴81 29 30 ┴╬─ #%00110000;30
3┴83 ├9 30 ├═╨ #$30
3┴85 ╞0 03 ┬┼╤ ┬╦╒╨2
╙╬┼╥╥1
3┴87 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
┬╦╒╨2
3┴8┴ ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3┴8─ 29 ├7 ┴╬─ #%11000111;├7
3┴8╞ ─0 ╞6 ┬╬┼ ╙╬┼╥╥1
3┴91 20 1┬ ─┴ ╩╙╥ ╤╒┴╠_╞╬═
3┴94 ┴0 16 ╠─┘ #$16
3┴96 ┴9 04 ╠─┴ #$04
┬╦╒╨3
3┴98 20 ╞┴ ─┬ ╩╙╥ ╒╬╦╬╧╫╬3
┬╦╒╨4
3┴9┬ ┴9 6╞ ╠─┴ #$6╞
3┴9─ 85 ─3 ╙╘┴ ╙┼├┴─╥
3┴9╞ 20 ─5 ╞0 ╩╙╥ $╞0─5
3┴┴2 ┴5 ─3 ╠─┴ ╙┼├┴─╥
3┴┴4 4├ ┬4 ╞4 ╩═╨ ╠╧├╙╨╚
;====================================================================
; ├╧╨┘ - ├OPY A FILE
; ├╧╨┘ [─S,]|["╙OURCE╞ILE"] TO [─D,]|["─ESTINATION"][╧╬ ╒N]
;
├╧╨┘
3┴┴7 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
3┴┴┴ 29 30 ┴╬─ #%00110000;30
3┴┴├ ├9 30 ├═╨ #$30
3┴┴┼ ─0 07 ┬╬┼ ├╧╨┘1
3┴┬0 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3┴┬3 29 ├7 ┴╬─ #%11000111;├7
3┴┬5 ╞0 09 ┬┼╤ ├╧╨┘2
├╧╨┘1
3┴┬7 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3┴┬┴ 20 1─ ─8 ╩╙╥ ├4_03╘╙
3┴┬─ ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
├╧╨┘2
3┴├0 ┴0 1┴ ╠─┘ #$1┴
3┴├2 ┴9 08 ╠─┴ #$08
3┴├4 4├ 98 ─┴ ╩═╨ ┬╦╒╨3
;====================================================================
; ├╧╬├┴╘ - ╩OIN TWO FILES
; ├╧╬├┴╘ [─S,] "╙OURCE╞ILE" TO [─D,] "─ESTINATION" [╧╬ ╒N]
;
├╧╬├┴╘
3┴├7 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
3┴├┴ 20 1─ ─8 ╩╙╥ ├4_03╘╙
3┴├─ ┴0 22 ╠─┘ #$22
3┴├╞ ┴9 0├ ╠─┴ #$0├
3┴─1 4├ 98 ─┴ ╩═╨ ┬╦╒╨3
;====================================================================
; ├╧╨┘╞╬═ - ├╧╨┘ ╞╔╠┼╬┴═┼ ╘╧ ╘┼═╨
;
├╧╨┘╞╬═
3┴─4 ┴5 ─1 ╠─┴ ╞╬═╠┼╬
3┴─6 8─ 3┴ 03 ╙╘┴ ╞╔╠┼╬═╠┼╬
3┴─9 ┴5 ─┴ ╠─┴ ╞╬╨╘╥
3┴─┬ 85 ╞─ ╙╘┴ ╧╙╞╥┼2
3┴── ┴5 ─┬ ╠─┴ ╞╬╨╘╥+1
3┴─╞ 85 ╞┼ ╙╘┴ ╧╙╞╥┼3
├╨┘╞╬═1
3┴┼1 98 ╘┘┴
3┴┼2 48 ╨╚┴
3┴┼3 ┴├ 3┴ 03 ╠─┘ ╞ILE╬═╠EN
3┴┼6 ╞0 10 ┬┼╤ ├╨┘╞╬═3
3┴┼8 ┴0 00 ╠─┘ #$00
├╨┘╞╬═2
3┴┼┴ ┬1 ╞─ ╠─┴ (╧╙╞╥┼2),┘
3┴┼├ 9─ 53 03 ╙╘┴ ╓┴╥9,╪
3┴┼╞ ┼8 ╔╬╪
3┴╞0 ├8 ╔╬┘
3┴╞1 ├├ 3┴ 03 ├╨┘ ╞ILE╬═╠EN
3┴╞4 ─0 ╞4 ┬╬┼ ├╨┘╞╬═2
3┴╞6 ╞0 01 ┬┼╤ ├╨┘╞╬═4
├╨┘╞╬═3
3┴╞8 ├┴ ─┼╪
├╨┘╞╬═4
3┴╞9 68 ╨╠┴
3┴╞┴ ┴8 ╘┴┘
3┴╞┬ 38 ╙┼├
3┴╞├ 60 ╥╘╙
;====================================================================
; ┴──╨┴╥┴═ - ┴── ╨┴╥┴═╙ ╘╧ ╓┴╥9
;
┴──╨┴╥┴═
3┴╞─ ┴─ 3╞ 0┼ ╠─┴ ╔╓┴╠╒┼
3┬00 9─ 53 03╙╘┴ ╓┴╥9,╪
3┬03 ┼8 ╔╬╪
3┬04 ┴─ 40 03 ╠─┴ ╓┴╥7
3┬07 9─ 53 03 ╙╘┴ ╓┴╥9,╪
3┬0┴ ┼8 ╔╬╪
3┬0┬ 8┴ ╘╪┴
3┬0├ 60 ╥╘╙
;====================================================================
; ─╙┴╓┼ - ╙AVE A DISK FILE
; ─╙┴╓┼ "╞ILE╬AME" [,─N][╧╬ ╒N]
;
─╙┴╓┼
3┬0─ 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
3┬10 20 0┬ ─8 ╩╙╥ ╚01╘┼╙╘
3┬13 29 66 ┴╬─ #%01100110;66
3┬15 ╞0 03 ┬┼╤ ─╙┴╓┼1
3┬17 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
─╙┴╓┼1
3┬1┴ ┴0 02 ╠─┘ #$02
3┬1├ ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3┬1╞ 29 80 ┴╬─ #%10000000;80
3┬21 ╞0 0╞ ┬┼╤ ─╙┴╓┼2
3┬23 ┴9 40 ╠─┴ #$40
3┬25 8─ 53 03 ╙╘┴ ╓┴╥9
3┬28 ┴2 01 ╠─╪ #$01
3┬2┴ ┴9 03 ╠─┴ #$03
3┬2├ 20 ╞├ ─┬ ╩╙╥ ╒╬╦3┴
3┬2╞ 4├ ┼0 ╞6 ╩═╨ ╔╙┴╓┼
─╙┴╓┼2
3┬32 ┴9 03 ╠─┴ #$03
3┬34 20 ╞┴ ─┬ ╩╙╥ ╒╬╦╬╧╫╬3
3┬37 4├ ┼0 ╞6 ╩═╨ ╔╙┴╓┼
;====================================================================
; ─╠╧┴─ - ╠OAD A DISK FILE
; ─╠╧┴─ "╞ILE╬AME" [,─N][╧╬ ╒N]
;
─╠╧┴─
3┬3┴ 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
3┬3─ 20 0┬ ─8 ╩╙╥ ╚01╘┼╙╘
3┬40 29 ┼6 ┴╬─ #%111001100;┼6
3┬42 ╞0 03 ┬┼╤ ─╠╧┴─2
╙╬┼╥╥2
3┬44 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
─╠╧┴─2
3┬47 ┴0 02 ╠─┘ #$02
3┬49 ┴9 03 ╠─┴ #$03
3┬4┬ 20 ╞┴ ─┬ ╩╙╥ ╒╬╦╬╧╫╬3
3┬4┼ ┴9 00 ╠─┴ #$00
3┬50 85 9─ ╙╘┴ ╔╧╞╠╟2
3┬52 4├ 08 ╞4 ╩═╨ ╔╠╧┴─
;====================================================================
; ├┴╘┴╠╧╟ - ╙HOW A DIRECTORY OF A DISK
; ├┴╘┴╠╧╟ [─N] [╧╬ ╒N]
;
├┴╘┴╠╧╟
3┬55 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
3┬58 20 24 ─8 ╩╙╥ ├4_03╘╙┴
3┬5┬ 29 ┼4 ┴╬─ #%11100100;┼4
3┬5─ ─0 ┼5 ┬╬┼ ╙╬┼╥╥2
3┬5╞ ┴0 2┼ ╠─┘ #$2┼
3┬61 ┴9 08 ╠─┴ #$08
3┬63 4├ 98 ─┴ ╩═╨ ┬╦╒╨3
;====================================================================
; ╥┼╬┴═┼ - ╥ENAMES A FILE
; ╥┼╬┴═┼ [─N,] "╧LD╬AME" ╘╧ "╬EW╬AME" [╧╬ ─N]
;
╥┼╬┴═┼
3┬66 20 68 ─├ ╩╙╥ ╨┴╥╙┼├═─
3┬69 20 04 ─8 ╩╙╥ ┼6╘┼╙╘
3┬6├ 20 9┼ ─┬ ╩╙╥ ╒╬╦╬╧╫╬1
3┬6╞ ┬0 27 ┬├╙ ╥┼╬3
3┬71 ┴0 36 ╠─┘ #$36
3┬73 ┴9 04 ╠─┴ #$04
3┬75 20 98 ─┴ ╩╙╥ ┬╦╒╨3
3┬78 20 99 ─┬ ╩╙╥ ╥┼╬4
3┬7┬ ─0 1┬ ┬╬┼ ╥┼╬3
3┬7─ 20 91 ─9 ╩╙╥ ┴╨╨2
3┬80 ┴9 0─ ╠─┴ #$0─
3┬82 20 02 ┼2 ╩╙╥ $┼202
3┬85 ┴0 00 ╠─┘ #$00
╥┼╬1
3┬87 ┬1 0┼ ╠─┴ (─╙_╠╙┬), ┘
3┬89 ├9 00 ├═╨ #$00
3┬8┬ ╞0 06 ┬┼╤ ╥┼╬2
3┬8─ 20 02 ┼2 ╩╙╥ $┼202
3┬90 ├8 ╔╬┘
3┬91 ─0 ╞4 ┬╬┼ ╥┼╬1
╥┼╬2
3┬93 ┴9 0─ ╠─┴ #$0─
3┬95 20 02 ┼2 ╩╙╥ $┼202
╥┼╬3
3┬98 60 ╥╘╙
╥┼╬4
3┬99 ┴5 78 ╠─┴ ╘╪╘╨╘╥+1
3┬9┬ ├9 02 ├═╨ #$02
3┬9─ 60 ╥╘╙
;====================================================================
; -
;
╒╬╦╬╧╫╬1
3┬9┼ 20 99 ─┬ ╩╙╥ ╥┼╬4
3┬┴1 ─0 32 ┬╬┼ ╒╬╦1┬
3┬┴3 ┴0 ┬6 ╠─┘ #$┬6
3┬┴5 20 85 ╞1 ╩╙╥ $╞185
3┬┴8 20 ┴6 ╞2 ╩╙╥ ├╠╥├╚╬
3┬┴┬ 20 15 ╞2 ╩╙╥ $╞215
3┬┴┼ ├9 59 ├═╨ #'┘'
3┬┬0 ─0 19 ┬╬┼ ╒╬╦1┴
3┬┬2 20 15 ╞2 ╩╙╥ $╞215
3┬┬5 ├9 0─ ├═╨ #$0─;CARRIAGE RETURN
3┬┬7 ╞0 1├ ┬┼╤ ╒╬╦1┬
3┬┬9 ├9 45 ├═╨ #'┼'
3┬┬┬ ─0 0┼ ┬╬┼ ╒╬╦1┴
3┬┬─ 20 15 ╞2 ╩╙╥ $╞215
3┬├0 ├9 53 ├═╨ #'╙'
3┬├2 ─0 07 ┬╬┼ ╒╬╦1┴
3┬├4 20 15 ╞2 ╩╙╥ $╞215
3┬├7 ├9 0─ ├═╨ #$0─;CARRIAGE RETURN
3┬├9 ╞0 0┴ ┬┼╤ ╒╬╦1┬
╒╬╦1┴
3┬├┬ ├9 0─ ├═╨ #$0─;CARRIAGE RETURN
3┬├─ 38 ╙┼├
3┬├┼ ╞0 06 ┬┼╤ ╒╬╦1├
3┬─0 20 15 ╞2 ╩╙╥ $╞215
3┬─3 ─0 ╞6 ┬╬┼ ╒╬╦1┴
╒╬╦1┬
3┬─5 18 ├╠├
╒╬╦1├
3┬─6 60 ╥╘╙
;====================================================================
; -
;
╒╬╦╬╧╫╬2
3┬─7 20 99 ─┬ ╩╙╥ ╥┼╬4;╘╪╘╨╘╥ ═╙┬ COMPARED WITH #$02 (OUR VARIABLE AREA??)
3┬─┴ ─0 ╞┴ ┬╬┼ ╒╬╦1├
3┬─├ ┴0 ├5 ╠─┘ #$├5
3┬─┼ 4├ 85 ╞1 ╩═╨ $╞185
;====================================================================
; ╙╘╧╥╙╘ - ╙╘╧╥┼ ─╔╙╦ ╙╘┴╘╒╙ ─┼╙├╥╔╨╘╧╥
;
╙╘╧╥╙╘
3┬┼1 98 ╘┘┴
3┬┼2 48 ╨╚┴
3┬┼3 ┴5 0─ ╠─┴ ─╙_╠┼╬
3┬┼5 ╞0 0┴ ┬┼╤ ╙╘╧╙╘1
3┬┼7 ┴0 28 ╠─┘ #$28
3┬┼9 98 ╘┘┴
3┬┼┴ 91 0┼ ╙╘┴ (─╙_╠╙┬),┘
3┬┼├ ├8 ╔╬┘
3┬┼─ ┴9 ╞╞ ╠─┴ #$╞╞
3┬┼╞ 91 0┼ ╙╘┴ (─╙_╠╙┬),┘
╙╘╧╙╘1
3┬╞1 ┴9 00 ╠─┴ #$00
3┬╞3 85 96 ╙╘┴ ├╙╘┴╘
3┬╞5 85 0─ ╙╘┴ ─╙_╠┼╬
3┬╞7 68 ╨╠┴
3┬╞8 ┴8 ╘┴┘
3┬╞9 60 ╥╘╙
;====================================================================
; -
;
╒╬╦╬╧╫╬3
3┬╞┴ ┴2 00 ╠─╪ #$00
╒╬╦3┴
3┬╞├ 8─ 41 03 ╙╘┴ ╓┴╥8
3┬╞╞ 20 ┼1 ─┬ ╩╙╥ ╒╬╦╬╧╫╬2┴
╠╧╧╨3┴
3├02 ├┼ 41 03 ─┼├ ╓┴╥8
3├05 30 45 ┬═╔ ╒╬╦3╠
3├07 ├8 ╔╬┘
3├08 ┬9 38 ─8 ╠─┴ ╒╬╦╓┼├╙,┘
3├0┬ 10 39 ┬╨╠ ╒╬╦3╦
3├0─ ├9 ╞1 ├═╨ #$╞1
3├0╞ ─0 03 ┬╬┼ ╒╬╦3├
3├11 20 ─4 ─┴ ╩╙╥ ├╧╨┘╞╬═
╒╬╦3├
3├14 ├9 ╞2 ├═╨ #$╞2
3├16 ─0 03 ┬╬┼ ╒╬╦3─
3├18 20 ┼1 ─┴ ╩╙╥ ├╨┘╞╬═1
╒╬╦3─
3├1┬ ├9 ┼0 ├═╨ #$┼0
3├1─ ─0 05 ┬╬┼ ╒╬╦3┼
3├1╞ ┴─ 3─ 03 ╠─┴ ╥╠┼╬_╔╓╓
3├22 ─0 22 ┬╬┼ ╒╬╦3╦
╒╬╦3┼
3├24 ├9 ─0 ├═╨ #$─0
3├26 ─0 03 ┬╬┼ ╒╬╦3╞
3├28 20 ╞─ ─┴ ╩╙╥ ┴──╨┴╥┴═
╒╬╦3╞
3├2┬ ├9 ┼1 ├═╨ #$┼1
3├2─ ─0 05 ┬╬┼ ╒╬╦3╟
3├2╞ 20 57 ─├ ╩╙╥ ╒╬╦╬╧╫╬4
3├32 ─0 12 ┬╬┼ ╒╬╦3╦
╒╬╦3╟
3├34 ├9 ─1 ├═╨ #$─1
3├36 ─0 05 ┬╬┼ ╒╬╦3╚
3├38 ┴─ 3┬ 03 ╠─┴ ╠╒╬1
3├3┬ 10 07 ┬╨╠ ╒╬╦3╩
╒╬╦3╚
3├3─ ├9 ─2 ├═╨ #$─2
3├3╞ ─0 ├1 ┬╬┼ ╠╧╧╨3┴
3├41 ┴─ 3├ 03 ╠─┴ ╠╒╬2
╒╬╦3╩
3├44 09 30 ╧╥┴ #%00110000;30
╒╬╦3╦
3├46 9─ 53 03 ╙╘┴ ╓┴╥9,╪
3├49 ┼8 ╔╬╪
3├4┴ ─0 ┬6 ┬╬┼ ╠╧╧╨3┴
╒╬╦3╠;SET POINTER TO FILENAME
3├4├ 86 ─1 ╙╘╪ ╞╬═╠┼╬
3├4┼ ┴9 53 ╠─┴ #<╓┴╥9;╓┴╥9 ╠╙┬
3├50 85 ─┴ ╙╘┴ ╞╬╨╘╥
3├52 ┴9 03 ╠─┴ #>╓┴╥9;╓┴╥9 ═╙┬
3├54 85 ─┬ ╙╘┴ ╞╬╨╘╥+1
3├56 60 ╥╘╙
;====================================================================
; -
;
╒╬╦╬╧╫╬4
3├57 ┴─ 3─ 03 ╠─┴ ╥╠┼╬_╔╓╓
3├5┴ ╞0 04 ┬┼╤ ╒╬╦4┴;ZERO, CAN'T BE ╔VV
3├5├ ┴9 4├ ╠─┴ #'╠'
3├5┼ ─0 07 ┬╬┼ ╒╬╦4┬
╒╬╦4┴
3├60 ┴9 53 ╠─┴ #'╙'
3├62 8─ 3─ 03 ╙╘┴ ╥╠┼╬_╔╓╓
3├65 ┴9 57 ╠─┴ #'╫'
╒╬╦4┬
3├67 60 ╥╘╙
;====================================================================
; ╨┴╥╙┼├═─ - ╨ERFORMS THE ACTUAL COMMAND PARSING.
;
╨┴╥╙┼├═─
3├68 ┴2 00 ╠─╪ #$00;ZERO OUT VARIABLES
3├6┴ 8┼ 3┼ 03 ╙╘╪ ┬╔╘_╞╠┴╟
3├6─ 86 ─2 ╙╘╪ ╠╧╟╞╔╠
3├6╞ 8┼ 3─ 03 ╙╘╪ ╥╠┼╬_╔╓╓
3├72 8┼ 3┬ 03 ╙╘╪ ╠╒╬1
3├75 8┼ 3├ 03 ╙╘╪ ╠╒╬2
3├78 86 ─1 ╙╘╪ ╞╬═╠┼╬
3├7┴ 8┼ 3┴ 03 ╙╘╪ ╞ILE╬═╠EN
3├7─ 8┼ 3╞ 03 ╙╘╪ ╔╓┴╠╒┼
3├80 ┴2 08 ╠─╪ #$08;DEFAULT DEVICE 8
3├82 86 ─4 ╙╘╪ ├╚┴╬╬╠
3├84 20 76 00 ╩╙╥ ├╚╥╟╧╘;GET CURRENT CHARACTER
3├87 ╞0 7┴ ┬┼╤ ╬╧╨┴╥┴═╙;0=END OF COMMAND LINE
╟╧╘├╧═┴;WE HAVE ANOTHER PARAMETER
3├89 ├9 23 ├═╨ #'#'
3├8┬ ╞0 30 ┬┼╤ ╟╧╘_╠┬;MUST BE ┴╨╨┼╬─, ─╧╨┼╬, ─├╠╧╙┼ OR ╥┼├╧╥─
3├8─ ├9 57 ├═╨ #'╫'
3├8╞ ╞0 47 ┬┼╤ ╟╧╘_╫╠;═UST BE ─╧╨┼╬{╥EAD╧NLY}
3├91 ├9 4├ ├═╨ #'╠'
3├93 ╞0 43 ┬┼╤ ╟╧╘_╫╠;═UST BE ─╧╨┼╬
3├95 ├9 52 ├═╨ #'╥';??
3├97 ─0 06 ┬╬┼ ═╧╥┼╨╥═1
3├99 20 70 00 ╩╙╥ ├╚╥╟┼╘;MUST BE "╥", SO GET NEXT CHAR
3├9├ 4├ 96 ── ╩═╨ ┼╧╠╘┼╙╘;ARE WE AT THE END OF THE LINE?
═╧╥┼╨╥═1
3├9╞ ├9 44 ├═╨ #'─';─RIVE NUMBER SPECIFIED
3├┴1 ╞0 72 ┬┼╤ ╙╠├╘─╥╓
3├┴3 ├9 91 ├═╨ #$91;TOKEN FOR "╧╬"
3├┴5 ╞0 62 ┬┼╤ ╨╥╧├_╧╬
3├┴7 ├9 55 ├═╨ #'╒';╒NIT SPECIFIED
3├┴9 ╞0 64 ┬┼╤ ╙╠├╘╒╬╔╘
3├┴┬ ├9 49 ├═╨ #'╔';╚┼┴─┼╥ DISK ╔─
3├┴─ ─0 03 ┬╬┼ ╒╬╦5┬
3├┴╞ 4├ 37 ── ╩═╨ ╨╥_╔╪╪
╒╬╦5┬
3├┬2 ├9 22 ├═╨ #'"';╚AS TO BE A FILENAME (┴╨╨┼╬─, ├╧╬├┴╘, ├╧╨┘, ─╧╨┼╬
;─╙┴╓┼, ─╠╧┴─, ╚┼┴─┼╥, ╥┼╬┴═┼, ╙├╥┴╘├╚
3├┬4 ╞0 50 ┬┼╤ ╩═╨_╨╥╧├;GOT QUOTE, JUMP
3├┬6 ├9 28 ├═╨ #'(';??
3├┬8 ╞0 4├ ┬┼╤ ╩═╨_╨╥╧├;GOT ANOTHER DELIMITER, JUMP (RECORD# OR BYTE#)
╙╬┼╥╥3
3├┬┴ 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥;OTHERWISE, ╙┘╬╘┴╪ ┼╥╥╧╥
╟╧╘_╠┬
3├┬─ ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3├├0 29 04 ┴╬─ #%00000100;04 (FILE# SPECIFIED)
3├├2 ─0 ╞6 ┬╬┼ ╙╬┼╥╥3;GOT HERE BUT BIT NOT SET
3├├4 20 87 ─┼ ╩╙╥ ╟┼╘_─╒╨╥═
3├├7 ┼0 00 ├╨╪ #$00
3├├9 ╞0 69 ┬┼╤ ┼╥35┼╪╔╘
3├├┬ 86 ─2 ╙╘╪ ╠╧╟╞╔╠
3├├─ ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3├─0 09 04 ╧╥┴ #%00000100;04
3├─2 8─ 3┼ 03 ╙╘┴ ┬╔╘_╞╠┴╟;SET ┬╔╘2
3├─5 4├ 96 ── ╩═╨ ┼╧╠╘┼╙╘
╟╧╘_╫╠
3├─8 ┴┴ ╘┴╪
3├─9 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3├─├ 29 40 ┴╬─ #%01000000;40
3├─┼ ─0 ─┴ ┬╬┼ ╙╬┼╥╥3;WE GOT HERE BUT BIT NOT SET; ERROR
3├┼0 ┼0 57 ├╨╪ #'╫'
3├┼2 ─0 06 ┬╬┼ ╟╧╘_╠
3├┼4 20 70 00 ╩╙╥ ├╚╥╟┼╘;MUST BE "╫"
3├┼7 4├ ╞8 ─├ ╩═╨ ╟╧╘_╫
╟╧╘_╠
3├┼┴ 20 87 ─┼ ╩╙╥ ╟┼╘_─╒╨╥═;MUST BE "╠"
3├┼─ ┼0 00 ├╨╪ #$00;RECORD LENGTH 0 (ILLEGAL)
3├┼╞ ╞0 43 ┬┼╤ ┼╥35┼╪╔╘;YES, EXIT
3├╞1 ┼0 ╞╞ ├╨╪ #$╞╞;RECORD LENGTH 255 (ILLEGAL)
3├╞3 ╞0 3╞ ┬┼╤ ┼╥35┼╪╔╘;YES, EXIT
3├╞5 8┼ 3─ 03 ╙╘╪ ╥╠┼╬_╔╓╓;STORE RECORD LENGTH
╟╧╘_╫
3├╞8 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3├╞┬ 09 40 ╧╥┴ #%01000000;40
3├╞─ 8─ 3┼ 03 ╙╘┴ ┬╔╘_╞╠┴╟;SET ┬╔╘6
3─00 4├ 96 ── ╩═╨ ┼╧╠╘┼╙╘
╬╧╨┴╥┴═╙
3─03 4├ 23 ─┼ ╩═╨ ┼╪╔╘╨╥╨═;NO MORE PARAMETERS
╩═╨_╨╥╧├
3─06 4├ 60 ── ╩═╨ ╨╥╧├╨┴╥═;PROCESS COMMANDS WITH FILENAMES
╨╥╧├_╧╬
3─09 20 2├ ─┼ ╩╙╥ ╠╒╬╨┴╥┴═;PROCESS '[╧╬ ╒N]' COMMAND PARAMETER WITH SANITY CHK
3─0├ 4├ 96 ── ╩═╨ ┼╧╠╘┼╙╘
╙╠├╘╒╬╔╘
3─0╞ 20 33 ─┼ ╩╙╥ ╙╠├╘╠╒╬;PROCESS '╒N' (SELECT ACTIVE UNIT# (4-31))
3─12 4├ 96 ── ╩═╨ ┼╧╠╘┼╙╘
;====================================================================
; ╙╠├╘─╥╓ - ╙┼╠┼├╘ ─╥╔╓┼ ╬╒═┬┼╥ (0/1)
;
╙╠├╘─╥╓
3─15 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3─18 29 10 ┴╬─ #%00010000
3─1┴ ─0 9┼ ┬╬┼ ╙╬┼╥╥3;SANITY CHECK
3─1├ 20 87 ─┼ ╩╙╥ ╟┼╘_─╒╨╥═
3─1╞ ┼0 02 ├╨╪ #$02;MAX UNIT+1 (I.E., 0: AND 1:)
3─21 ┬0 11 ┬├╙ ┼╥35┼╪╔╘;ILLEGAL QUANTITY
3─23 8┼ 3┬ 03 ╙╘╪ ╠╒╬1
3─26 8┼ 3├ 03 ╙╘╪ ╠╒╬2
3─29 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3─2├ 09 10 ╧╥┴ #%00010000;10 (FIRST DRIVE# SPECIFIED)
3─2┼ 8─ 3┼ 03 ╙╘┴ ┬╔╘_╞╠┴╟
3─31 4├ 96 ── ╩═╨ ┼╧╠╘┼╙╘
┼╥35┼╪╔╘
3─34 4├ 27 ─┼ ╩═╨ ┼╥╥╧╥35;╔LLEGAL ╤UANTITY ┼RROR
;====================================================================
; ╨╥_╔╪╪ - ╙┘╬╘┴╪ ┼╥╥╧╥ ╨╥╧├┼╙╙╧╥ 4; ╨ROCESS [╔VV] PARAMETER
;
╨╥_╔╪╪
3─37 ┴─ 3─ 03 ╠─┴ ╥╠┼╬_╔╓╓
3─3┴ 29 ╞╞ ┴╬─ #%11111111;╞╞ (VAR IS EITHER 00, ╞╞, OR VV PARAMETER)
3─3├ ╞0 03 ┬┼╤ ╟┼╘_╔╪╪
3─3┼ 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
;
; ╥ETRIEVE ╚┼┴─┼╥ DISK ╔─ FROM COMMAND LINE (I.E., [╔XX] PARAMETER)
;
╟┼╘_╔╪╪
3─41 ┴0 00 ╠─┘ #$00;ZERO OUT INDEX VARS
3─43 ┴2 00 ╠─╪ #$00
╔─╠╧╧╨
3─45 ┼6 77 ╔╬├ ╘╪╘╨╘╥;POINT TO NEXT CHAR IN CMD LINE
3─47 ─0 02 ┬╬┼ ╒╬╦6┼
3─49 ┼6 78 ╔╬├ ╘╪╘╨╘╥+1;ACCOUNT FOR ROLL-OVER
╒╬╦6┼
3─4┬ ┬1 77 ╠─┴ (╘╪╘╨╘╥),┘;GET FIRST LETTER
3─4─ 9─ 3╞ 03 ╙╘┴ ╔╓┴╠╒┼,╪;SAVE
3─50 ┼8 ╔╬╪
3─51 ┼0 02 ├╨╪ #$02;GOT 2 LETTERS YET?
3─53 90 ╞0 ┬├├ ╔─╠╧╧╨;NO, LOOP
3─55 ┴9 ╞╞ ╠─┴ #$╞╞
3─57 8─ 3─ 03 ╙╘┴ ╥╠┼╬_╔╓╓;SET ╥╠┼╬_╔╓╓ FLAG
3─5┴ 20 70 00 ╩╙╥ ├╚╥╟┼╘;GET NEXT CHARACTER
3─5─ 4├ 96 ── ╩═╨ ┼╧╠╘┼╙╘;ARE WE AT THE ┼╧╠?
;====================================================================
; ╨╥╧├╨┴╥═ - ╨╥╧├┼╙╙ ├╧══┴╬─ ╠╔╬┼ ╨┴╥┴═┼╘┼╥╙
;
╨╥╧├╨┴╥═
3─60 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3─63 29 01 ┴╬─ #%00000001;WE GOT A FILENAME, SO SET ┬╔╘0
3─65 20 49 ─┼ ╩╙╥ ╤╒┴╠_╞╬═;.╪ AND .┘ RETURNS POINTER TO FILENAME
3─68 85 ─1 ╙╘┴ ╞╬═╠┼╬;.┴ RETURNS LENGTH
3─6┴ 8─ 41 03 ╙╘┴ ╓┴╥8;MAKE COPY
3─6─ ┴9 42 ╠─┴ #$42;SET ╧╙ POINTER TO FILENAME TO TEMP AREA
3─6╞ 85 ─┴ ╙╘┴ ╞╬╨╘╥
3─71 ┴9 03 ╠─┴ #$03
3─73 85 ─┬ ╙╘┴ ╞╬╨╘╥+1
3─75 ┴0 00 ╠─┘ #$00;START AT BEGINNING
├╨┘╞╠╧╧╨;COPY FILENAME TO ╧╙ TEMP
3─77 ┬1 1╞ ╠─┴ (╒╘╠╨╘╥),┘;GET CHARACTER
3─79 ├0 00 ├╨┘ #$00;REACHED END OF STRING?
3─7┬ ─0 08 ┬╬┼ ╙╘╧├╚┴╥;NO, STORE CHARACTER
3─7─ ├9 40 ├═╨ #'@';CHARACTER BEFORE "┴"
3─7╞ ─0 04 ┬╬┼ ╙╘╧├╚┴╥;NOT "@", STORE CHARACTER
3─81 ┼6 ─┴ ╔╬├ ╞╬╨╘╥;INCREMENT POINTER TO NEXT CHARACTER
3─83 ├6 ─1 ─┼├ ╞╬═╠┼╬;FEWER TO COUNT
╙╘╧├╚┴╥
3─85 99 42 03 ╙╘┴ ╞ILE╬═╘EMP,┘;STORE CHARACTER
3─88 ├8 ╔╬┘;NEXT...
3─89 ├├ 41 03 ├╨┘ ╓┴╥8;REACHED COUNT?
3─8├ 90 ┼9 ┬├├ ├╨┘╞╠╧╧╨;NO, LOOP
3─8┼ ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3─91 09 01 ╧╥┴ #%00000001;01
3─93 8─ 3┼ 03 ╙╘┴ ┬╔╘_╞╠┴╟;SET ┬╔╘0
┼╧╠╘┼╙╘
3─96 20 76 00 ╩╙╥ ├╚╥╟╧╘;CHECK FOR ┼╧╠ OR MORE PARAMS
3─99 ─0 03 ┬╬┼ ╟╧╘_├═┴;NON-ZERO, SO MORE PARAMETERS
3─9┬ 4├ 03 ── ╩═╨ ╬╧╨┴╥┴═╙;╬O MORE PARAMETERS TO PROCESS, SO EXIT
╟╧╘_├═┴
3─9┼ ├9 2├ ├═╨ #',';ANOTHER PARAMETER?
3─┴0 ─0 06 ┬╬┼ ╟╧╘_╧╬;NO, CONTINUE
3─┴2 20 70 00 ╩╙╥ ├╚╥╟┼╘;WE HAVE ANOTHER PARAMETER, PROCESS.
3─┴5 4├ 89 ─├ ╩═╨ ╟╧╘├╧═┴
╟╧╘_╧╬
3─┴8 ├9 91 ├═╨ #$91;TOKEN FOR "╧╬" {UNIT}
3─┴┴ ─0 03 ┬╬┼ ╟╧╘_╘╧;NOT "╧╬", SO CONTINUE
3─┴├ 4├ 09 ── ╩═╨ ╨╥╧├_╧╬
╟╧╘_╘╧
3─┴╞ ├9 ┴4 ├═╨ #$┴4;TOKEN FOR "╘╧"
3─┬1 ╞0 03 ┬┼╤ ╨╥╧├_╘╧
3─┬3 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
╨╥╧├_╘╧
3─┬6 20 70 00 ╩╙╥ ├╚╥╟┼╘;PROCESS "╘╧" PARAMETER (FILENAME FOLLOWS {REQUIRED}
;AND A UNIT# OR DRIVE#)
3─┬9 ├9 44 ├═╨ #'─'
3─┬┬ ╞0 13 ┬┼╤ ╟╧╘_─2
3─┬─ ├9 91 ├═╨ #$91;TOKEN FOR "╧╬" {UNIT}
3─┬╞ ╞0 2┬ ┬┼╤ ╟╧╘_╧╬2
3─├1 ├9 55 ├═╨ #'╒'
3─├3 ╞0 2─ ┬┼╤ ╟╧╘_╒2
3─├5 ├9 22 ├═╨ #'"'
3─├7 ╞0 2╞ ┬┼╤ ╟╧╘_╞╬2
3─├9 ├9 28 ├═╨ #'(';??
3─├┬ ╞0 2┬ ┬┼╤ ╟╧╘_╞╬2
╙╬┼╥╥5
3─├─ 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
╟╧╘_─2
3──0 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3──3 29 20 ┴╬─ #%00100000;SECOND DRIVE# SPECIFIED
3──5 ─0 ╞6 ┬╬┼ ╙╬┼╥╥5
3──7 20 87 ─┼ ╩╙╥ ╟┼╘_─╒╨╥═;GET DRIVE#
3──┴ ┼0 02 ├╨╪ #$02;DRIVES 0:/1: ONLY
3──├ ┬0 49 ┬├╙ ┼╥╥╧╥35
3──┼ 8┼ 3├ 03 ╙╘╪ ╠╒╬2
3─┼1 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3─┼4 09 20 ╧╥┴ #%00100000
3─┼6 8─ 3┼ 03 ╙╘┴ ┬╔╘_╞╠┴╟
3─┼9 4├ 0╞ ─┼ ╩═╨ ═╧╥┼╨╥═3
╟╧╘_╧╬2
3─┼├ 20 2├ ─┼ ╩╙╥ ╠╒╬╨┴╥┴═
3─┼╞ 4├ 0╞ ─┼ ╩═╨ ═╧╥┼╨╥═3
╟╧╘_╒2
3─╞2 20 33 ─┼ ╩╙╥ ╙╠├╘╠╒╬
3─╞5 4├ 0╞ ─┼╩═╨ ═╧╥┼╨╥═3
╟╧╘_╞╬2
3─╞8 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3─╞┬ 29 02 ┴╬─ #%00000010;02
3─╞─ 20 49 ─┼ ╩╙╥ ╤╒┴╠_╞╬═
3┼00 8─ 3┴ 03 ╙╘┴ ╞ILE╬═╠EN
3┼03 86 ╞─ ╙╘╪ ╧╙╞╥┼2
3┼05 84 ╞┼ ╙╘┘ ╧╙╞╥┼3
3┼07 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3┼0┴ 09 02 0╥┴ #%00000010
3┼0├ 8─ 3┼ 03 ╙╘┴ ┬╔╘_╞╠┴╟
═╧╥┼╨╥═3
3┼0╞ 20 76 00 ╩╙╥ ├╚╥╟╧╘;IS CURRENT CAHRACTER ┼╧╠?
3┼12 ╞0 0╞ ┬┼╤ ┼╪╔╘╨╥╨═;YES, EXIT
3┼14 ├9 2├ ├═╨ #',';MORE TO GO
3┼16 ╞0 9┼ ┬┼╤ ╨╥╧├_╘╧
3┼18 ├9 91 ├═╨ #$91;TOKEN "╧╬" AGAIN
3┼1┴ ╞0 ─0 ┬┼╤ ╟╧╘_╧╬2
3┼1├ ├9 55 ├═╨ #'╒';ANOTHER UNIT# TO DO
3┼1┼ ╞0 ─2 ┬┼╤ ╟╧╘_╒2
╙╬┼╥╥6
3┼20 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥
┼╪╔╘╨╥╨═
3┼23 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3┼26 60 ╥╘╙
;====================================================================
; ┼╥╥╧╥35 - ╟┼╬┼╥┴╘┼ ┼╥╥╧╥ 35H: ╔LLEGAL ╤UANTITY ┼RROR
;
┼╥╥╧╥35
3┼27 ┴2 35 ╠─╪ #$35
3┼29 4├ ├╞ ┬3 ╩═╨ ┼╥╥╧╥
;====================================================================
; ╠╒╬╨┴╥┴═ - ╟┼╘ ╠╧╟╔├┴╠ ╒╬╔╘ ╬╒═┬┼╥ ╨┴╥┴═┼╘┼╥
;
╠╒╬╨┴╥┴═
3┼2├ 20 70 00 ╩╙╥ ├╚╥╟┼╘;VERIFY THAT WE HAVE "╒" PARAMETER
3┼2╞ ├9 55 ├═╨ #'╒'
3┼31 ─0 ┼─ ┬╬┼ ╙╬┼╥╥6
;
; ╙╠├╘╠╒╬ - ╙┼╠┼├╘ ╠╒╬ (5-31)
;
╙╠├╘╠╒╬
3┼33 20 87 ─┼ ╩╙╥ ╟┼╘_─╒╨╥═;GET ╠╒╬
3┼36 ┼0 20 ├╨╪ #' ';>32 (MAX+1)
3┼38 ┬0 ┼─ ┬├╙ ┼╥╥╧╥35;YES, ERROR
3┼3┴ ┼0 03 ├╨╪ #$03;<3 (MIN-1)
3┼3├ 90 ┼9 ┬├├ ┼╥╥╧╥35;YES, ERROR
3┼3┼ 86 ─4 ╙╘╪ ├╚┴╬╬╠;SAVE AS CURRENT CHANNEL
3┼40 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3┼43 09 08 ╧╥┴ #%00001000;08
3┼45 8─ 3┼ 03 ╙╘┴ ┬╔╘_╞╠┴╟;SET ┬╔╘3
3┼48 60 ╥╘╙
;====================================================================
; ╤╒┴╠_╞╬═ - ╤UALIFY FILENAME
;
╤╒┴╠_╞╬═
3┼49 ─0 ─5 ┬╬┼ ╙╬┼╥╥6
3┼4┬ 20 98 ┬─ ╩╙╥ ╞╥═┼╓╠;PROCESS CHARACTERS INTO STRING
3┼4┼ 20 ┬5 ├7 ╩╙╥ ╞╥┼╙╘╥
3┼51 ┴┴ ╘┴╪;SAVE LENGTH
3┼52 ├9 00 ├═╨ #$00;IS NAME LENGTH 0?
3┼54 ╞0 ─1 ┬┼╤ ┼╥╥╧╥35;YES, ERROR
3┼56 ├9 12 ├═╨ #$12;IS LENGTH>18 (17+TERMINATOR)?
3┼58 ┬0 1┴ ┬├╙ ┼╥╥╧╥┬0;YES, ERROR ┬0 ("╙TRING TOO ╠ONG ┼RROR")
3┼5┴ ┴0 00 ╠─┘ #$00
3┼5├ ┬1 1╞ ╠─┴ (╒╘╠╨╘╥),┘
3┼5┼ ├9 40 ├═╨ #'@';??
3┼60 ─0 0┴ ┬╬┼ ╤╞╬_├╧╬╘
3┼62 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3┼65 29 80 ┴╬─ #%10000000;80
3┼67 ╞0 10 ┬┼╤ ┼╪╔╘_╤╞╬;FILENAME ALREADY PROCESSED, SO RETURN
3┼69 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥;OOPS, ERROR
╤╞╬_├╧╬╘
3┼6├ 8┴ ╘╪┴;RESTORE FILENAME LENGTH
3┼6─ ├9 11 ├═╨ #$11;LENGTH >17
3┼6╞ ┬0 03 ┬├╙ ┼╥╥╧╥┬0;YES, ERROR
3┼71 4├ 82 ─┼ ╩═╨ ╤╞╬_╥┼╘;RETURN PARAMETERS (.┴=LENGTH)
┼╥╥╧╥┬0
3┼74 ┴2 ┬0 ╠─╪ #$┬0;ERROR ┬0 ("╙TRING TOO ╠ONG")
3┼76 4├ ├╞ ┬3 ╩═╨ ┼╥╥╧╥
┼╪╔╘_╤╞╬
3┼79 ┴─ 3┼ 03 ╠─┴ ┬╔╘_╞╠┴╟
3┼7├ 09 80 ╧╥┴ #%10000000;80
3┼7┼ 8─ 3┼ 03 ╙╘┴ ┬╔╘_╞╠┴╟;SET ┬╔╘7
3┼81 8┴ ╘╪┴;RESTORE LENGTH
╤╞╬_╥┼╘
3┼82 ┴6 1╞ ╠─╪ ╒╘╠╨╘╥;RETURN POINTER TO FILENAME
3┼84 ┴4 20 ╠─┘ ╒╘╠╨╘╥+1
3┼86 60 ╥╘╙
;====================================================================
; ╟┼╘_─╒╨╥═ - ╟ET ─RIVE# OR ╠╒╬# (RETURNS IN .╪)
;
╟┼╘_─╒╨╥═
3┼87 20 70 00 ╩╙╥ ├╚╥╟┼╘;GET NEXT CHARACTER
╟┼╘_─╒╨╥═1
3┼8┴ ─0 03┬╬┼ ╟┼╘╠╒╬2;NON-ZERO, CONTINUE
3┼8├ 4├ 00 ┬╞ ╩═╨ ╙╬┼╥╥;MUST BE NULL, SO ╒ OR ─ SPECIFIED WITH NO #
╟┼╘╠╒╬2
3┼8╞ 90 09 ┬├├ ╟┼╘╠╒╬3;NO PARENTHESES, SO EVALUATE DIRECTLY
3┼91 20 ╞2 ┬┼ ╩╙╥ ├╚╦╨╬╧;CHECK FOR "("
3┼94 20 ─4 ├8 ╩╙╥ ╟┼╘┬┘╘;EVALUATE FORMULA AND RETURN BYTE IN .╪
3┼97 4├ ┼╞ ┬┼ ╩═╨ ├╚╦╨╬├;CHECK FOR ")"
╟┼╘╠╒╬3
3┼9┴ 4├ ─4 ├8 ╩═╨ ╟┼╘┬┘╘
3┼9─ .DB $╞4;SKIP (UNDEFINED OP-CODE???)
╒╬╦╬╧╫╬7
3┼9┼ 85 96 ╙╘┴ ├╙╘┴╘
3┼┴╧ 91 ╧┼ ╙╘┴ (─╙_╠╙┬),┘
3┼┴2 88 ─┼┘
3┼┴3 60 ╥╘╙
.╧╥╟ $─┼┴4
╙╔╟╬╧╬ .DB '*** ├╧══╧─╧╥┼ ┬┴╙╔├ 4.0 ***', $0─, $0─, $00
;╞╔╠╠ $─┼├2 ╘╧ ─╞╞╞ ╫╔╘╚ .DB $┴┴
.╧╥╟ $╞000;╦┼╥╬┼╠ ═┼╙╙┴╟┼╙
.DB '╘╧╧ ═┴╬┘ ╞╔╠┼', $─3;00
.DB '╞╔╠┼ ╧╨┼', $├┼;0┼
.DB '╞╔╠┼ ╬╧╘ ╧╨┼', $├┼;17
.DB '╞╔╠┼ ╬╧╘ ╞╧╒╬', $├4;24
.DB $0─, '╙┼┴╥├╚╔╬╟ ╞╧╥', $┴0;32
.DB $0─, '╨╥┼╙╙ ╨╠┴┘ & ╥┼├╧╥─ ╧╬ ╘┴╨┼ ', $┴3;41
.DB $0─, '╠╧┴', $├4;5╞
.DB $0─, '╫╥╔╘╔╬╟', $┴0;64
.DB $╧─, '╓┼╥╔╞', $─9;6─
.DB '─┼╓╔├┼ ╬╧╘ ╨╥┼╙┼╬', $─4;74
.DB '╬╧╘ ╔╬╨╒╘ ╞╔╠', $├5;86
.DB '╬╧╘ ╧╒╘╨╒╘ ╞╔╠', $├5;94
.DB $0─, '╞╧╒╬─', $┴0;┴3
.DB $0─, '╧╦', $8─;┴┴
.DB $0─, '╥┼┴─┘.', $8─;┴┼
.DB $0─, '┴╥┼ ┘╧╒ ╙╒╥┼ ', $┬╞;┬6
.DB $0─, '? ";├5
.DB '┬┴─ ─╔╙╦ ', $8─;├8